<?php
// +----------------------------------------------------------------------
// | 牛逼网 [快乐 开放 游戏]
// +----------------------------------------------------------------------
// | Copyright (c) 2016 http://www.nniubi.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: zhy <345933361@qq.com>
// +----------------------------------------------------------------------
namespace Admin\Controller;

use Think\Page;

/**
 * 导览列表控制器
 * @author zhy <345933361@qq.com>
 */
class TourController extends AdminController
{
    /**
     * 导览列表
     * @author zhy <345933361@qq.com>
     */
    public function index()
    {
        // 搜索
        $keyword                                  = I('keyword', '', 'string');
        $condition                                = array('like', '%' . $keyword . '%');
        $map['id|title'] = array(
            $condition,
            $condition,
            '_multi' => true,
        );

        // 获取所有图书
        $map['status'] = array('egt', '0'); // 禁用和正常状态
        $map['type'] = array('eq', '3'); // 查询大屏首页数据
        $p             = !empty($_GET["p"]) ? $_GET['p'] : 1;
        $user_object   = D('List');
        $data_list     = $user_object
            ->page($p, C('ADMIN_PAGE_ROWS'))
            ->where($map)
            ->order('id desc')
            ->select();
        $page = new Page(
            $user_object->where($map)->count(),
            C('ADMIN_PAGE_ROWS')
        );
        foreach ($data_list as $key => &$val) {
            switch ($val['type']) {
                case "1":
                    $val['type'] = "大屏列表";
                    break;
                case "2":
                    $val['type'] = "小程序首页列表";
                    break;
                case "3":
                    $val['type'] = "小程序导览";
                    break;
                case "4":
                    $val['type'] = "小程序关于";
                    break;
            }
        }
        // 使用Builder快速建立列表页面。
        $builder = new \Common\Builder\ListBuilder();
        $builder->setMetaTitle('导览列表') // 设置页面标题
            ->setSearch('请输入ID/标题', U('index'))
            ->addTableColumn('id', 'UID')
            ->addTableColumn('title', '标题')
            ->addTableColumn('img', '图','picture')
            ->addTableColumn('type', '类型')
            ->addTableColumn('add_time', '创建时间', 'time')
            ->addTableColumn('status', '状态', 'status')
            ->addTableColumn('right_button', '操作', 'btn')
            ->setTableDataList($data_list) // 数据列表
            ->setTableDataPage($page->show()) // 数据列表分页
            ->addRightButton('edit') // 添加编辑按钮
            ->addRightButton('forbid') // 添加禁用/启用按钮
            ->display();
    }

    /**
     * 新增图书
     * @author zhy <345933361@qq.com>
     */
    public function add()
    {
        if (IS_POST) {
            $user_object = D('List');
            $data        = $user_object->create();
            $data['type']=3;
            if ($data) {
                $id = $user_object->add($data);
                if ($id) {
                    $this->success('新增成功', U('index'));
                } else {
                    $this->error('新增失败');
                }
            } else {
                $this->error($user_object->getError());
            }
        } else {
            // 使用FormBuilder快速建立表单页面。
            $builder = new \Common\Builder\FormBuilder();
            $builder->setMetaTitle('新增图书') //设置页面标题
                ->setPostUrl(U('add')) //设置表单提交地址
                ->addFormItem('title', 'text', '标题', '标题')
                ->addFormItem('img', 'picture', '图','')
                ->addFormItem('content', 'kindeditor', '内容', '内容')
                ->display();
        }
    }

    /**
     * 编辑图书
     * @author zhy <345933361@qq.com>
     */
    public function edit($id)
    {
        if (IS_POST) {
            // 提交数据
            $user_object = D('List');
            $data        = $user_object->create();
            if ($data) {
                $result = $user_object
                    ->field('id,title,content,img')
                    ->save($data);
                if ($result) {
                    $this->success('更新成功', U('index'));
                } else {
                    $this->error('更新失败', $user_object->getError());
                }
            } else {
                $this->error($user_object->getError());
            }
        } else {
            // 获取账号信息
            $info = D('List')->find($id);
            // 使用FormBuilder快速建立表单页面。
            $builder = new \Common\Builder\FormBuilder();
            $builder->setMetaTitle('编辑导览') // 设置页面标题
                ->setPostUrl(U('edit')) // 设置表单提交地址
                ->addFormItem('id', 'hidden', 'ID', 'ID')
                ->addFormItem('title', 'text', '标题', '标题')
                ->addFormItem('img', 'picture', '图','')
                ->addFormItem('content', 'kindeditor', '内容', '内容')
                ->setFormData($info)
                ->display();
        }
    }

    /**
     * 设置一条或者多条数据的状态
     * @author zhy <345933361@qq.com>
     */
    public function setStatus($model = CONTROLLER_NAME)
    {
        $ids = I('request.ids');
        if (is_array($ids)) {
            if (in_array('1', $ids)) {
                $this->error('超级管理员不允许操作');
            }
        } else {
            if ($ids === '1') {
                $this->error('超级管理员不允许操作');
            }
        }
        parent::setStatus($model);
    }
}
